package com.jbinfo.qingcaowan.exam.entity;

import java.util.Date;
import java.util.List;

public class ExamCircle {
    private String id;

    private String examCode;

    private String examName;

    private String examContent;
    
    private Integer examScore;
    
    // 试题数量
    private Integer questionCnt;
    
    private String examType;

    private Date beginDate;

    private Date endDate;
    
    private Date beginTime; // 考试开始时间 yyyy-MM-dd HH:mm:ss
    
    private Date endTime;  // 考试结束时间  yyyy-MM-dd HH:mm:ss

    private String createDate;

    private String createBy;

    private Date lastUpdateDate;

    private String lastUpdateBy;
    
    
    private List<ExamQuestion> questionList;
    
    public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public String getExamCode() {
        return examCode;
    }

    public void setExamCode(String examCode) {
        this.examCode = examCode == null ? null : examCode.trim();
    }

    public String getExamName() {
        return examName;
    }

    public void setExamName(String examName) {
        this.examName = examName == null ? null : examName.trim();
    }

    public String getExamContent() {
        return examContent;
    }

	public Integer getExamScore() {
		return examScore;
	}

	public void setExamScore(Integer examScore) {
		this.examScore = examScore;
	}

	public Integer getQuestionCnt() {
		return questionCnt;
	}

	public void setQuestionCnt(Integer questionCnt) {
		this.questionCnt = questionCnt;
	}

	public String getExamType() {
		return examType;
	}

	public void setExamType(String examType) {
		this.examType = examType;
	}

	public void setExamContent(String examContent) {
        this.examContent = examContent == null ? null : examContent.trim();
    }


	public Date getBeginDate() {
		return beginDate;
	}

	public void setBeginDate(Date beginDate) {
		this.beginDate = beginDate;
	}

	public Date getEndDate() {
		return endDate;
	}

	public void setEndDate(Date endDate) {
		this.endDate = endDate;
	}

	public Date getBeginTime() {
		return beginTime;
	}

	public void setBeginTime(Date beginTime) {
		this.beginTime = beginTime;
	}

	public Date getEndTime() {
		return endTime;
	}

	public void setEndTime(Date endTime) {
		this.endTime = endTime;
	}

	public String getCreateDate() {
		return createDate;
	}

	public void setCreateDate(String createDate) {
		this.createDate = createDate;
	}

	public String getCreateBy() {
        return createBy;
    }

    public void setCreateBy(String createBy) {
        this.createBy = createBy == null ? null : createBy.trim();
    }

    public Date getLastUpdateDate() {
        return lastUpdateDate;
    }

    public void setLastUpdateDate(Date lastUpdateDate) {
        this.lastUpdateDate = lastUpdateDate;
    }

    public String getLastUpdateBy() {
        return lastUpdateBy;
    }

    public void setLastUpdateBy(String lastUpdateBy) {
        this.lastUpdateBy = lastUpdateBy == null ? null : lastUpdateBy.trim();
    }

	public List<ExamQuestion> getQuestionList() {
		return questionList;
	}

	public void setQuestionList(List<ExamQuestion> questionList) {
		this.questionList = questionList;
	}

	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((beginDate == null) ? 0 : beginDate.hashCode());
		result = prime * result + ((createBy == null) ? 0 : createBy.hashCode());
		result = prime * result + ((createDate == null) ? 0 : createDate.hashCode());
		result = prime * result + ((endDate == null) ? 0 : endDate.hashCode());
		result = prime * result + ((examCode == null) ? 0 : examCode.hashCode());
		result = prime * result + ((examContent == null) ? 0 : examContent.hashCode());
		result = prime * result + ((examName == null) ? 0 : examName.hashCode());
		result = prime * result + ((examScore == null) ? 0 : examScore.hashCode());
		result = prime * result + ((examType == null) ? 0 : examType.hashCode());
		result = prime * result + ((id == null) ? 0 : id.hashCode());
		result = prime * result + ((lastUpdateBy == null) ? 0 : lastUpdateBy.hashCode());
		result = prime * result + ((lastUpdateDate == null) ? 0 : lastUpdateDate.hashCode());
		result = prime * result + ((questionCnt == null) ? 0 : questionCnt.hashCode());
		result = prime * result + ((questionList == null) ? 0 : questionList.hashCode());
		return result;
	}

	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		ExamCircle other = (ExamCircle) obj;
		if (beginDate == null) {
			if (other.beginDate != null)
				return false;
		} else if (!beginDate.equals(other.beginDate))
			return false;
		if (createBy == null) {
			if (other.createBy != null)
				return false;
		} else if (!createBy.equals(other.createBy))
			return false;
		if (createDate == null) {
			if (other.createDate != null)
				return false;
		} else if (!createDate.equals(other.createDate))
			return false;
		if (endDate == null) {
			if (other.endDate != null)
				return false;
		} else if (!endDate.equals(other.endDate))
			return false;
		if (examCode == null) {
			if (other.examCode != null)
				return false;
		} else if (!examCode.equals(other.examCode))
			return false;
		if (examContent == null) {
			if (other.examContent != null)
				return false;
		} else if (!examContent.equals(other.examContent))
			return false;
		if (examName == null) {
			if (other.examName != null)
				return false;
		} else if (!examName.equals(other.examName))
			return false;
		if (examScore == null) {
			if (other.examScore != null)
				return false;
		} else if (!examScore.equals(other.examScore))
			return false;
		if (examType == null) {
			if (other.examType != null)
				return false;
		} else if (!examType.equals(other.examType))
			return false;
		if (id == null) {
			if (other.id != null)
				return false;
		} else if (!id.equals(other.id))
			return false;
		if (lastUpdateBy == null) {
			if (other.lastUpdateBy != null)
				return false;
		} else if (!lastUpdateBy.equals(other.lastUpdateBy))
			return false;
		if (lastUpdateDate == null) {
			if (other.lastUpdateDate != null)
				return false;
		} else if (!lastUpdateDate.equals(other.lastUpdateDate))
			return false;
		if (questionCnt == null) {
			if (other.questionCnt != null)
				return false;
		} else if (!questionCnt.equals(other.questionCnt))
			return false;
		if (questionList == null) {
			if (other.questionList != null)
				return false;
		} else if (!questionList.equals(other.questionList))
			return false;
		return true;
	}

}